import { ReActAgent } from "./ReAct-agent";
// import { Ollama, OllamaEmbeddings, ChatOllama } from '@langchain/ollama';
// import { PromptTemplate } from "@langchain/core/prompts";
// import { RunnableLambda, RunnableSequence, } from '@langchain/core/runnables';
// import { StringOutputParser } from '@langchain/core/output_parsers'; //流式


async function main() {
  const agent = new ReActAgent();
  // 定义用户问题（可替换成你想测试的问题）
  // const userQuestion = "请告诉我当前的时间？";//成功
  // const userQuestion = "你是谁？";//成功
  // const userQuestion = "请告诉我当前的时间？然后计算 10+20×3 的结果";//成功
  const userQuestion = "请告诉我当前的时间？你是谁？";
  // const userQuestion = "请问北京现在的天气怎么样？";
  // const userQuestion = "请问经度116.4074，纬度39.9042的城市现在的天气怎么样？";//成功
  // 代码执行工具测试（扩展内容）：
  // const userQuestion = "请帮我执行一段Python代码，打印 'Hello World'";
  // 数据分析工具测试（扩展内容）：
  // const userQuestion = "请分析以下数据：name,age\\nAlice,30\\nBob,25，给出统计摘要";

  console.log(`用户问题：${userQuestion}\n`);
  // 运行 Agent
  const steps = await agent.run(userQuestion);
  // 打印每一步的思考-行动-观察过程
  steps.forEach((step, idx) => {
    console.log(`===== 步骤 ${idx + 1} =====`);
    console.log(`思考：${step.thought}`);
    if (step.action) console.log(`行动：${step.action}`);
    if (step.actionInput) console.log(`行动输入：${JSON.stringify(step.actionInput)}`);
    if (step.observation) console.log(`观察：${step.observation}`);
    if (step.answer) console.log(`\n最终答案：${step.answer}`);
    console.log("-------------------------\n");
  });
}

main().catch((err) => { console.error("运行出错：", err); });